package com.gt.service.role;

import com.gt.dao.role.RoleDAO;
import com.gt.entity.role.Role;
import com.gt.service.base.BaseServiceImpl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 角色业务接口实现类
 * @author why
 */
@Service("roleService")
public class RoleServiceImpl extends BaseServiceImpl implements RoleService {

	// Fields

	@Autowired
	private RoleDAO roleDAO;// 角色DAO接口

	// Methods

   /**
	* 添加角色
	*  roleId 主键值
	*  roleName 角色名称（身份）
	*  auth 角色权限（权限）
	* @return Long roleId 添加后的数据库主键值
	*/
	@Override
	public Integer add(Role role) {
		// 构造角色参数实体
		this.roleDAO.insert(role);
		return role.getRoleId();
	}

   /**
	* 删除角色
	*  roleId 主键值
	*/
	@Override
	public void delete(Long roleId) {
		// 调用角色DAO接口
		this.roleDAO.delete(roleId);
	}

   /**
	* 更新角色
	*  roleId 主键值
	*  roleName 角色名称（身份）
	*  auth 角色权限（权限）
	*/
	@Override
	public void edit(Role role) {
		// 调用角色DAO接口
		this.roleDAO.update(role);
	}

   /**
	* 主键查询角色
	*  roleId 主键值
	* @return Role 实体
	*/
	@Override
	public Role queryById(Long roleId) {
		// 调用角色DAO接口
		return this.roleDAO.selectById(roleId);
	}

   /**
	* 根据条件查询角色列表
	*  roleId 主键值
	*  roleName 角色名称（身份）
	*  auth 角色权限（权限）
	* @return List<Role> 实体List
	*/
	@Override
	public List<Role> queryList(Role role) {
			// 调用角色DAO接口
		return this.roleDAO.selectList(role);
	}

}